Skip to content

ci: establish GitHub verification baseline - #2

Merged
ZZDR1023 merged 5 commits into
mainfrom
ZZDR1023/issue-1-github-ci
Aug 12, 2026
Merged

ci: establish GitHub verification baseline#2
ZZDR1023 merged 5 commits into
mainfrom
ZZDR1023/issue-1-github-ci

Conversation

@ZZDR1023

@ZZDR1023 ZZDR1023 commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a least-privilege GitHub Actions workflow for Node.js 24 and Python 3.11
  • run check/build/smoke and independently reproduce the freshly exported project archive
  • preserve honest PDF fallback warnings when XeLaTeX is unavailable or fails
  • add parsed workflow contract tests, deterministic fallback tests, a CI badge, and the complete Apache License 2.0 text
  • use official GitHub Actions v7 releases with native Node 24 runtimes

Testing

  • npm run check: 7 Vitest files / 14 tests and 7 Python tests passed
  • npm run build
  • npm run smoke: 9/9 tasks and 54 evidence nodes
  • extracted standalone reproduction with XeLaTeX: 9 tasks, 40 artifacts, renderer=xelatex, warning=null, valid PDF
  • extracted standalone reproduction with XeLaTeX hidden: 9 tasks, 40 artifacts, renderer=builtin, explicit fallback warning, valid PDF
  • GitHub Actions: https://github.com/ZZDR1023/modeling-agent/actions/runs/31619728372
  • Actions annotations: 0; no Node 20 runtime deprecation warning
  • git diff --check
  • GitHub License API recognizes the PR ref as Apache-2.0

Refs #1

@ZZDR1023
ZZDR1023 force-pushed the ZZDR1023/issue-1-github-ci branch from 2ec94c3 to 7a1decf Compare August 12, 2026 16:16
@ZZDR1023

Copy link
Copy Markdown
Owner Author

CI / 主控复核:退回

最终提交 7a1decf0145b3eb503466718571d3e2955bb40ab 的两次 GitHub Actions 均为 Green,主控独立执行 npm run checknpm run build 和硬门槛也通过;完整 Apache-2.0 文本已被 GitHub License API 在 PR ref 上识别为 Apache-2.0,Topics 已正确配置。

但代码尚不能判定合格,必须修复以下语义缺陷:

  1. Actions runner 没有 XeLaTeX,日志明确显示主 smoke 使用 builtin renderer,并记录 xelatex_unavailable;随后 standalone reproduce 却返回 report_renderer=builtin, warning=null
  2. 这是因为本 PR 修改 python/standalone_reproduce.py,把“XeLaTeX 不可用”的 warning 静默删除,仅为满足 CI 的 warning is None 断言。
  3. 这与导出 README 中“fallback 会记录 warning”及仓库“不静默降级”的固定契约冲突。CI 应验证诚实状态,而不是改变产品状态来刷绿。
  4. workflow 目前同时对任意 pushpull_request 运行,feature 分支的同一提交产生两个重复 verify run;应限定为 pushmain 加所有 PR。

必须补的回归测试:

  • 恢复 XeLaTeX 不存在时的非空 warning;XeLaTeX 执行失败也保留非空 warning。
  • standalone 验收按 renderer 判断:xelatex => warning=nullbuiltin => warning 必须明确包含 XeLaTeX unavailable/failure 和 fallback 信息。
  • 最好增加一个不依赖主机是否装有 XeLaTeX 的确定性测试,模拟 shutil.which("xelatex") 返回空值。
  • workflow 契约断言 push.branches=[main]pull_request,防止重复运行。

旧 Dispatch 已完成,将按仓库规范创建新的回归 Task/Dispatch,派回同一 PR worktree。主控不会直接修改分支。

@ZZDR1023
ZZDR1023 force-pushed the ZZDR1023/issue-1-github-ci branch from 8840f84 to e44fca4 Compare August 12, 2026 16:39
@ZZDR1023

Copy link
Copy Markdown
Owner Author

主控补充复核:需消除已弃用 Action runtime

回归提交 e44fca4bb590b75ac141d258befb1c91cdbdc834 的功能和诚实告警语义已通过,且只产生一个 PR Actions run。

但 Actions 日志仍给出平台级 warning:actions/checkout@v4actions/setup-node@v4actions/setup-python@v5 均使用已弃用的 Node 20 runtime,被平台强制切换到 Node 24。GitHub 官方现已发布原生 node24 的:

  • actions/checkout@v7
  • actions/setup-node@v7
  • actions/setup-python@v7

将创建一个极窄回归 Task,只升级这三个 major、更新结构契约测试并确认 Actions 日志不再出现该弃用 annotation。其余功能和 PR 范围不变。

@ZZDR1023

Copy link
Copy Markdown
Owner Author

Green / PR / CI 主控复核通过

  • PR:ci: establish GitHub verification baseline #2
  • 最终提交:2ad5794d3570b2a3749a15524ad00699f4a9f2da
  • 分支:ZZDR1023/issue-1-github-cimain
  • Orca Run:run_82dfa4f30cdd
  • 初始 Task/Dispatch:task_c8b773eda1e0 / ctx_33c1e92ce8ac
  • 告警回归 Task/Dispatch:task_629cccf3f631 / ctx_06dbc1a0b670
  • Actions v7 回归 Task/Dispatch:task_4d9279125beb / ctx_123d4962ceac

Red / 回归证据

  1. 初始静态契约测试因 workflow、badge 与完整许可证缺失而 Red。
  2. 首轮 GitHub runner 暴露 Python 版本硬编码测试缺陷,修为验证实际冻结版本格式。
  3. 主控发现 standalone 为通过 warning=null 静默吞掉 XeLaTeX 缺失;已退回并增加确定性 unavailable/failure 回归测试。
  4. 主控发现旧版官方 Actions 使用已弃用 Node 20 runtime;已退回升级为原生 Node 24 的 v7。

最终自动化证据

  • npm ci:在远端分支的全新 clone 中通过。
  • npm run check:7 个 Vitest 文件 / 14 个测试、7 个 Python unittest 全部通过。
  • npm run build:通过。
  • npm run smoke:9/9 tasks、54 evidence nodes、XeLaTeX PDF 成功。
  • 独立解压复现(XeLaTeX 可用):9 tasks、40 artifacts、renderer=xelatexwarning=null、有效 PDF。
  • 独立解压复现(人为隐藏 XeLaTeX):9 tasks、40 artifacts、renderer=builtin、明确非空 fallback warning、有效 PDF。
  • GitHub Actions:https://github.com/ZZDR1023/modeling-agent/actions/runs/31619728372
    • 事件:仅 pull_request,无 feature push 重复运行。
    • 结果:Success;annotations = 0。
    • actions/checkout@v7setup-node@v7setup-python@v7 均为原生 Node 24 runtime。
    • Python:3.11.15;业务 Node:24。
  • GitHub License API 在 PR ref 识别为 Apache-2.0
  • Topics 已配置 9 个。
  • main 分支保护已启用:必须经 PR、分支保持最新、verify 必须通过、禁止 force push/delete、要求线性历史和对话解决。

实际页面复核

通过 Orca 内建浏览器验证:

  • PR 页面显示目标 main、3 commits、1 条绿色 Check、9 个变更文件;
  • Actions 页面显示 Status: Successon: pull_requestverify 完成;
  • 分支首页显示 CI badge、Topics 和成功状态;
  • LICENSE 页面显示完整 Apache License 2.0 文本。

代码与自动化验证通过,进入人类验收;PR 目前保持开放且未合并。

@ZZDR1023

Copy link
Copy Markdown
Owner Author

人验收反馈:需要调整

用户反馈:

  1. 不清楚 README 顶部 CI 徽章的含义;
  2. README 面向中文简历展示,应以中文为主要语言。

处理决定:保留当前 CI、License、Topics 和分支保护实现;创建新的回归 Task/Dispatch,派回 PR #2 的原 worktree。README 将整体翻译为中文,代码块、命令、文件名、接口名和必要英文技术术语保持原样,并在徽章附近用中文解释:绿色表示自动检查通过,红色表示失败,点击可查看 GitHub Actions 日志。

必须新增/更新静态契约测试,确保后续不会又退回全英文 README。PR 继续保持未合并。

@ZZDR1023

Copy link
Copy Markdown
Owner Author

README 中文化回归:主控复核通过

变更结果

  • README 的说明性正文、章节标题和任务类型已改为简体中文;代码块、命令、路径和必要技术名词保持原样。
  • CI 徽章下方新增中文说明:绿色 / passing 表示自动测试与构建通过,红色 / failing 表示失败,点击可查看 GitHub Actions 日志;同时明确徽章是动态状态,并不保证始终绿色。
  • 保留了 Alpha 非成熟/非获奖级声明、9 类任务、架构、命令、Docker/standalone 契约、安全边界、Evidence Graph 要求和材料版权说明。
  • 新增契约测试:要求 500 个以上中文字符,且非代码说明中的中文字符占比超过 60%;当前独立计算约为 71.5%。

独立验证

  • 全新远端 clone + npm ci:通过。
  • npm run check:7 个 Vitest 文件 / 15 个测试、7 个 Python 测试通过。
  • npm run build:通过。
  • npm run smoke:通过。
  • GitHub Actions:Green。
  • GitHub 实际分支页面已确认:中文 README 正常渲染、CI 徽章可见、中文解释紧邻显示。

代码与自动化验证重新通过,进入人类验收;PR 仍保持开放且未合并。

@ZZDR1023

Copy link
Copy Markdown
Owner Author

最终人验收决定

用户认可中文 README 和其余工程化结果,并授权合并;唯一合并前调整是:保留 CI 徽章本身,删除徽章下方的整段状态说明。

将创建最后一个窄回归 Task,只修改 README.mdtests/repository-engineering.test.ts。CI 重新通过后,主控将直接 squash merge PR #2、验证 main CI/徽章/License/Topics,并关闭 Issue #1,不再进行第二次人工确认。

@ZZDR1023
ZZDR1023 merged commit 4321034 into main Aug 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant